Шаг 12. Настраиваем автоматический запуск SSH-агента

Закроем Git Bash и остановим процесс SSH-агента через диспетчер задач либо любым другим способом. Это нужно для того, чтобы вы увидели, как работает автоматический запуск SSH-агента. После перейдём в директорию пользователя и создадим в ней два файла. Первый с названием .bashrc, а второй — .bash_profile.

Одна красная стрелка указывает на файл .bashrc, а другая — на .bash_profile
Одна красная стрелка указывает на файл.bashrc, а другая — на.bash_profile

Далее откроем через любой редактор кода файл .bashrc.

Открыт файл .bashrc в редакторе кода VS Code
Открыт файл.bashrc в редакторе кода VS Code

Затем вставим в него следующий код:

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

Вставлен код в файл .bashrc
Вставлен код в файл.bashrc

Сохраняем и закрываем файл. Теперь нужно открыть файл .bash_profile.

Открыт файл .bash_profile в редакторе кода VS Code
Открыт файл.bash_profile в редакторе кода VS Code

Вставим код:

test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc

Вставлен код в файл .bash_profile
Вставлен код в файл.bash_profile

Код из файла .bashrc будет запускать SSH-агент, а код из файла .bash_profile будет запускать файл .bashrc.

Редактор кода можно закрыть, он больше не понадобится. Теперь давайте запустим Git Bash в любой директории. В нашем случае это будет рабочий стол.

Открыт Git Bash с указанием текущей директории
Открыт Git Bash с указанием текущей директории

Нас попросят ввести кодовую фразу. Введём её и нажмём клавишу Enter.

Нажата клавиша Enter после ввода кодовой фразы
Нажата клавиша Enter после ввода кодовой фразы

Мы увидим такое же сообщение, как и после ручного запуска SSH-агента.

Плюс данного способа: вам нужно ввести кодовую фразу только один раз при первом запуске Git Bash. После она не будет запрашиваться — и так до тех пор, пока вы не перезагрузите компьютер.